package org.codert.wxpay.support.client;

import org.codert.wxpay.support.ConstantEnum;
import org.codert.wxpay.support.dto.WxPayRequest;

/**
 * @author: TanJingyu
 * @create: 2021-08-12 15:28
 **/
public interface WxPayClient {
    /**
     * 过滤client
     * @param payWay 支付方式
     * @return xxx
     */
    Boolean support(ConstantEnum payWay);
    /**
     * 创建订单
     * @param request 请求
     * @return xxx
     */
    Object createOrder(WxPayRequest request);

    /**
     * 查询订单
     * @return xxx
     */
    Object queryOrder();

    /**
     * 关闭订单
     * @return xxx
     */
    Object closeOrder();

    /**
     * 调起支付
     * @return xxx
     */
    Object realPay();

    /**
     * 解析通知
     * @return xxx
     */
    Object resolveNotification();

    /**
     * 申请退款
     * @return xxx
     */
    Object refund();

    /**
     * 查询退款
     * @return xxx
     */
    Object queryRefund();

//    .........
}
